www.gusucode.com > VC++迷宫游戏源代码源码程序 > VC++迷宫游戏源代码源码程序\code\WinGame 2.7\Include\Key.cpp
//Download by http://www.NewXing.com // Key.cpp: implementation of the Key class. // ////////////////////////////////////////////////////////////////////// #include "stdafx.h" #include "Key.h" #include "Lock.h" CLock g_KeyLock; //向左,向下,向上,向右,确认键 int KEY_LEFT,KEY_DOWN,KEY_UP,KEY_RIGHT,KEY_RETURN; int Key_Left,Key_Down,Key_Up,Key_Right,Key_Return; void ClearAllKey() { g_KeyLock.Lock(); KEY_LEFT=0; KEY_DOWN=0; KEY_UP=0; KEY_RIGHT=0; KEY_RETURN=0; Key_Left=0; Key_Down=0; Key_Up=0; Key_Right=0; Key_Return=0; g_KeyLock.UnLock(); } bool IsMultiKey() { int i=Key_Left+Key_Down+Key_Up+Key_Right; return i>1; } void ReadKey() { g_KeyLock.Lock(); Key_Left=KEY_LEFT; Key_Down=KEY_DOWN; Key_Up=KEY_UP; Key_Right=KEY_RIGHT; Key_Return=KEY_RETURN; //KEY_LEFT=0; //KEY_DOWN=0; //KEY_UP=0; //KEY_RIGHT=0; //KEY_RETURN=0; g_KeyLock.UnLock(); } void OnKeyDown(unsigned int k) { g_KeyLock.Lock(); switch(k) { case VK_RETURN: KEY_RETURN=1; break; case VK_LEFT: KEY_LEFT=1; break; case VK_RIGHT: KEY_RIGHT=1; break; case VK_DOWN: KEY_DOWN=1; break; case VK_UP: KEY_UP=1; break; //如果不够用的,请继续添加 } g_KeyLock.UnLock(); } void OnKeyUp(unsigned int k) { g_KeyLock.Lock(); switch(k) { case VK_RETURN: KEY_RETURN=0; break; case VK_LEFT: KEY_LEFT=0; break; case VK_RIGHT: KEY_RIGHT=0; break; case VK_DOWN: KEY_DOWN=0; break; case VK_UP: KEY_UP=0; break; //如果不够用的,请继续添加 } g_KeyLock.UnLock(); }